Text copied to clipboard!
Tytuł
Text copied to clipboard!Starszy Inżynier Oprogramowania
Opis
Text copied to clipboard!
Poszukujemy Starszego Inżyniera Oprogramowania, który dołączy do naszego zespołu technologicznego i odegra kluczową rolę w projektowaniu, rozwijaniu oraz utrzymaniu nowoczesnych systemów informatycznych wspierających cele biznesowe organizacji. Osoba na tym stanowisku będzie odpowiedzialna za tworzenie wysokiej jakości oprogramowania, podejmowanie decyzji architektonicznych, wspieranie mniej doświadczonych członków zespołu oraz aktywną współpracę z interesariuszami technicznymi i biznesowymi. Szukamy kandydata, który łączy bardzo dobre umiejętności programistyczne z dojrzałością inżynierską, dbałością o jakość kodu oraz praktycznym podejściem do rozwiązywania złożonych problemów.
Na tym stanowisku będziesz uczestniczyć w pełnym cyklu życia oprogramowania, od analizy wymagań i planowania rozwiązań, przez implementację i testowanie, aż po wdrożenie, monitorowanie i optymalizację działania aplikacji. Oczekujemy, że będziesz proponować ulepszenia technologiczne, identyfikować ryzyka projektowe oraz wdrażać dobre praktyki związane z bezpieczeństwem, wydajnością i skalowalnością systemów. Istotnym elementem tej roli jest również współpraca międzyzespołowa, w tym z działami produktu, DevOps, QA oraz analitykami, aby dostarczać rozwiązania odpowiadające rzeczywistym potrzebom użytkowników i biznesu.
Starszy Inżynier Oprogramowania powinien swobodnie poruszać się w środowisku nowoczesnych technologii, rozumieć zasady projektowania systemów rozproszonych, znać wzorce projektowe oraz potrafić podejmować świadome decyzje dotyczące kompromisów technicznych. Cenimy osoby, które potrafią nie tylko pisać efektywny kod, ale także budować standardy pracy zespołu, prowadzić przeglądy kodu, wspierać rozwój innych programistów i inicjować usprawnienia procesów wytwórczych.
Idealny kandydat posiada doświadczenie w pracy nad aplikacjami o dużej skali, potrafi analizować wydajność systemów, diagnozować problemy produkcyjne i wdrażać trwałe rozwiązania. Ważna jest również umiejętność jasnej komunikacji, zarówno w kontekście technicznym, jak i biznesowym, a także gotowość do pracy w dynamicznym środowisku, w którym priorytety mogą się zmieniać. Oferujemy możliwość realnego wpływu na kierunek rozwoju produktów, pracę z doświadczonym zespołem oraz udział w ambitnych projektach technologicznych, które wymagają kreatywności, odpowiedzialności i wysokich standardów inżynierskich.
Jeśli cenisz jakość, lubisz rozwiązywać trudne problemy techniczne i chcesz rozwijać systemy, które mają znaczenie dla użytkowników oraz organizacji, ta rola będzie doskonałą okazją do dalszego rozwoju zawodowego. Szukamy osoby samodzielnej, zaangażowanej i nastawionej na współpracę, która wniesie do zespołu wiedzę ekspercką, inicjatywę oraz pasję do tworzenia niezawodnego oprogramowania.
Obowiązki
Text copied to clipboard!- Projektowanie, rozwijanie i utrzymywanie skalowalnych aplikacji oraz usług backendowych i frontendowych.
- Podejmowanie decyzji technicznych dotyczących architektury systemów i doboru technologii.
- Tworzenie wysokiej jakości kodu zgodnego z najlepszymi praktykami inżynierii oprogramowania.
- Prowadzenie przeglądów kodu oraz wspieranie zespołu w utrzymaniu standardów jakości.
- Współpraca z zespołami produktowymi, QA, DevOps i analitykami przy realizacji projektów.
- Diagnozowanie i rozwiązywanie problemów wydajnościowych, funkcjonalnych oraz produkcyjnych.
- Mentorowanie młodszych programistów i wspieranie ich rozwoju technicznego.
- Udział w planowaniu sprintów, estymacji zadań i doskonaleniu procesów wytwórczych.
Wymagania
Text copied to clipboard!- Minimum 5 lat doświadczenia w tworzeniu oprogramowania na poziomie komercyjnym.
- Bardzo dobra znajomość co najmniej jednego nowoczesnego języka programowania.
- Doświadczenie w projektowaniu architektury aplikacji i systemów rozproszonych.
- Znajomość baz danych SQL lub NoSQL oraz zasad modelowania danych.
- Praktyczna wiedza z zakresu testowania jednostkowego, integracyjnego i automatyzacji testów.
- Doświadczenie w pracy z systemami kontroli wersji oraz procesami CI/CD.
- Umiejętność analitycznego myślenia i skutecznego rozwiązywania złożonych problemów technicznych.
- Znajomość dobrych praktyk bezpieczeństwa, wydajności i skalowalności aplikacji.
- Dobra komunikacja i umiejętność współpracy w zespole wielodyscyplinarnym.
Potencjalne pytania na rozmowie
Text copied to clipboard!- Jakie technologie i języki programowania wykorzystujesz najczęściej w swojej pracy?
- Czy masz doświadczenie w projektowaniu architektury systemów o dużej skali?
- W jakich typach projektów pełniłeś rolę mentora lub lidera technicznego?
- Jakie podejście stosujesz do przeglądów kodu i zapewniania jakości oprogramowania?
- Czy pracowałeś z chmurą publiczną, konteneryzacją lub narzędziami CI/CD?
- Jakie są Twoje największe osiągnięcia w optymalizacji wydajności systemów?
- W jaki sposób współpracujesz z zespołami nietechnicznymi przy definiowaniu rozwiązań?
- Jakie praktyki stosujesz, aby ograniczać dług techniczny w projektach?